home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / misc / ClassLoaderUtil.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.3 KB  |  70 lines

  1. package sun.misc;
  2.  
  3. import java.io.IOException;
  4. import java.net.URLClassLoader;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.LinkedList;
  8. import java.util.List;
  9. import java.util.Stack;
  10. import java.util.jar.JarFile;
  11.  
  12. public class ClassLoaderUtil {
  13.    public static void releaseLoader(URLClassLoader var0) {
  14.       releaseLoader(var0, (List)null);
  15.    }
  16.  
  17.    public static List<IOException> releaseLoader(URLClassLoader var0, List<String> var1) {
  18.       LinkedList var2 = new LinkedList();
  19.  
  20.       try {
  21.          if (var1 != null) {
  22.             var1.clear();
  23.          }
  24.  
  25.          System.out.println("classLoader = " + var0);
  26.          System.out.println("SharedSecrets.getJavaNetAccess()=" + SharedSecrets.getJavaNetAccess());
  27.          URLClassPath var3 = SharedSecrets.getJavaNetAccess().getURLClassPath(var0);
  28.          ArrayList var4 = var3.loaders;
  29.          Stack var5 = var3.urls;
  30.          HashMap var6 = var3.lmap;
  31.          synchronized(var5) {
  32.             var5.clear();
  33.          }
  34.  
  35.          synchronized(var6) {
  36.             var6.clear();
  37.          }
  38.  
  39.          synchronized(var3) {
  40.             for(Object var9 : var4) {
  41.                if (var9 != null && var9 instanceof URLClassPath.JarLoader) {
  42.                   URLClassPath.JarLoader var10 = (URLClassPath.JarLoader)var9;
  43.                   JarFile var11 = var10.getJarFile();
  44.  
  45.                   try {
  46.                      if (var11 != null) {
  47.                         var11.close();
  48.                         if (var1 != null) {
  49.                            var1.add(var11.getName());
  50.                         }
  51.                      }
  52.                   } catch (IOException var19) {
  53.                      String var13 = var11 == null ? "filename not available" : var11.getName();
  54.                      String var14 = "Error closing JAR file: " + var13;
  55.                      IOException var15 = new IOException(var14);
  56.                      var15.initCause(var19);
  57.                      var2.add(var15);
  58.                   }
  59.                }
  60.             }
  61.  
  62.             var4.clear();
  63.             return var2;
  64.          }
  65.       } catch (Throwable var21) {
  66.          throw new RuntimeException(var21);
  67.       }
  68.    }
  69. }
  70.